package com.ruoyi.finance.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 发票凭证模板对象 voucher_template
 *
 * @author ruoyi
 * @date 2025-03-03
 */
public class VoucherTemplate extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 模板ID */
    private Long templateId;

    /** 模版编号 */
    @Excel(name = "模版编号")
    private String templateEncoding;

    /** 模板名称 */
    @Excel(name = "模板名称")
    private String templateName;

    /** 凭证字号 */
    private String voucherNo;

    /** 开票日期 */
    private Date voucherDate;

    /** 账期YYYYMM */
    private String accountPeriod;

    /** 附单据数量 */
    private Long attachmentCount;

    /** 合计金额 */
    private BigDecimal totalAmount;

    /** 模板类型ID */
    @Excel(name = "模板类型ID")
    private Integer typeId;

    /** 账套ID */
    private Long accountId;

    /** 凭证字ID */
    private Long wordId;

    /** 创建人 */
    private String creator;

    /** 修改人 */
    private String modifier;

    /** 修改时间 */
    private Date modifyTime;

    /** 逻辑删除 */
    private Integer isDeleted;

    /** 版本号 */
    private Long version;

    public void setTemplateId(Long templateId)
    {
        this.templateId = templateId;
    }

    public Long getTemplateId()
    {
        return templateId;
    }
    public void setTemplateEncoding(String templateEncoding)
    {
        this.templateEncoding = templateEncoding;
    }

    public String getTemplateEncoding()
    {
        return templateEncoding;
    }
    public void setTemplateName(String templateName)
    {
        this.templateName = templateName;
    }

    public String getTemplateName()
    {
        return templateName;
    }
    public void setVoucherNo(String voucherNo)
    {
        this.voucherNo = voucherNo;
    }

    public String getVoucherNo()
    {
        return voucherNo;
    }
    public void setVoucherDate(Date voucherDate)
    {
        this.voucherDate = voucherDate;
    }

    public Date getVoucherDate()
    {
        return voucherDate;
    }
    public void setAccountPeriod(String accountPeriod)
    {
        this.accountPeriod = accountPeriod;
    }

    public String getAccountPeriod()
    {
        return accountPeriod;
    }
    public void setAttachmentCount(Long attachmentCount)
    {
        this.attachmentCount = attachmentCount;
    }

    public Long getAttachmentCount()
    {
        return attachmentCount;
    }
    public void setTotalAmount(BigDecimal totalAmount)
    {
        this.totalAmount = totalAmount;
    }

    public BigDecimal getTotalAmount()
    {
        return totalAmount;
    }
    public void setTypeId(Integer typeId)
    {
        this.typeId = typeId;
    }

    public Integer getTypeId()
    {
        return typeId;
    }
    public void setAccountId(Long accountId)
    {
        this.accountId = accountId;
    }

    public Long getAccountId()
    {
        return accountId;
    }
    public void setWordId(Long wordId)
    {
        this.wordId = wordId;
    }

    public Long getWordId()
    {
        return wordId;
    }
    public void setCreator(String creator)
    {
        this.creator = creator;
    }

    public String getCreator()
    {
        return creator;
    }
    public void setModifier(String modifier)
    {
        this.modifier = modifier;
    }

    public String getModifier()
    {
        return modifier;
    }
    public void setModifyTime(Date modifyTime)
    {
        this.modifyTime = modifyTime;
    }

    public Date getModifyTime()
    {
        return modifyTime;
    }
    public void setIsDeleted(Integer isDeleted)
    {
        this.isDeleted = isDeleted;
    }

    public Integer getIsDeleted()
    {
        return isDeleted;
    }
    public void setVersion(Long version)
    {
        this.version = version;
    }

    public Long getVersion()
    {
        return version;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("templateId", getTemplateId())
            .append("templateEncoding", getTemplateEncoding())
            .append("templateName", getTemplateName())
            .append("voucherNo", getVoucherNo())
            .append("voucherDate", getVoucherDate())
            .append("accountPeriod", getAccountPeriod())
            .append("attachmentCount", getAttachmentCount())
            .append("totalAmount", getTotalAmount())
            .append("typeId", getTypeId())
            .append("accountId", getAccountId())
            .append("wordId", getWordId())
            .append("creator", getCreator())
            .append("createTime", getCreateTime())
            .append("modifier", getModifier())
            .append("modifyTime", getModifyTime())
            .append("isDeleted", getIsDeleted())
            .append("version", getVersion())
            .toString();
    }
}
